大数据之PySpark的RDD创建和分区

您所在的位置:网站首页 spark 并行 大数据之PySpark的RDD创建和分区

大数据之PySpark的RDD创建和分区

#大数据之PySpark的RDD创建和分区| 来源: 网络整理| 查看: 265

文章目录 前言一、RDD创建二、RDD分区数总结

前言

#博学谷IT学习技术支持# 上篇文章对PySpark的RDD做了简单的介绍,以及总结了RDD的特性,该篇文章主要介绍RDD的创建方式,PySpark的RDD创建方式主要有两种,一种是在程序中直接创建,另一种是通过加载外部系统创建。

一、RDD创建 创建SparkContext对象 SparkContext为Spark程序的入口,代表和Spark集群的链接,Spark集群中通过SparkContext创建RDD,创建SparkContext对象前需要先创建SparkConf,该SparkConf对象用来传递应用的基本信息。 在这里插入图片描述并行化方式创建RDD 第一步已经得到SparkContext对象,通过该对象的parallelize方法即可创建RDD,该方法需要传入可迭代的对象或集合; 在这里插入图片描述 使用SparkContext对象时可以指定分区数量 在这里插入图片描述读取小文件创建RDD 实际需求中,有时需要读取大量的小文件,文件不大,但数量很多,如果一个文件读取为RDD的一个分区,处理数据效率较为低下,此时可以使用SparkContext对象的wholeTextFiles方法,该方式主要用于读取小文件。 在这里插入图片描述PySpark可以从Hadoop支持的任何存储源创建RDD,例如本地文件系统、HDFS、HBase等,同时支持整个目录,多文件,并且也支持压缩文件。 使用SparkContext对象的textFile即可读取外部数据,返回DataFrame对象 e 二、RDD分区数 概念 分区是一个偏物理层的概念,是RDD并行计算的单位;数据在RDD上被切分为多个子集合,一个子集合可以看成一个分区,运算逻辑会作用在每一个分区上,每个分区是由单独的任务执行,所以分区数越高,整个应用的并行度越高。影响分区数据的因素,主要有三点:· (1)RDD分区的原则是使分区数尽可能等于集群CPU核数,这样可最大限度发挥CPU的性能 (2)实际操作中,为了充分利用CPU的性能,并行度会设置为CPU核数的2至3倍 (3)与启动时指定的核数、调用方法时指定的分区数、文件本身分区数有关系 总结

RDD的创建主要有两种,一种是并行化方式创建RDD,另一种是通过外部存储系统创建RDD,具体使用哪种方式,需要根据实际需求判断适合使用哪种方式创建RDD。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3